package com.cloudkinto.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 
 * </p>
 * @author zhangyy
 * @since 2020-09-16
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("t_first_vessel_order")
public class FirstVesselOrderDo extends Model<FirstVesselOrderDo> {

    private static final long serialVersionUID=1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 订单号
     */
    @TableField("order_number")
    private String orderNumber;

    /**
     * 订单号
     */
    @TableField("track_id")
    private Long trackId;

    /**
     * 状态来自码表（头程自发订单状态）
     */
    @TableField("status")
    private Long status;

    /**
     * 订单完成状态1:当前订单 2:已完成3:已退回
     */
    @TableField("result_status")
    private Integer resultStatus;

    /**
     * 是否贴标1是 0否
     */
    @TableField("is_labelling")
    private Integer isLabelling;

    /**
     * 入货仓库
     */
    @TableField("storage_id")
    private Long storageId;

    /**
     * fba仓库
     */
    @TableField("fba_storage_id")
    private Long fbaStorageId;

    /**
     * 报关资料
     */
    @TableField("declaration_information_file_id")
    private Long declarationInformationFileId;

    /**
     * 报关凭证
     */
    @TableField("declaration_certificate_file_id")
    private Long declarationCertificateFileId;

    /**
     * 1:是0:否
     */
    @TableField("is_cloudkinto_export")
    private Integer isCloudkintoExport;

    /**
     * 清关抬头
     */
    @TableField("duty_paragraph")
    private String dutyParagraph;

    /**
     * 运输方式：来自码表
     */
    @TableField("logistics_type")
    private Long logisticsType;

    /**
     * 报关方式 1：退税报关 2：非退税
     */
    @TableField("customs_type")
    private Integer customsType;

    /**
     * 是否购买保险
     */
    @TableField("is_purchase_of_insurance")
    private Integer isPurchaseOfInsurance;

    /**
     * 清关资料
     */
    @TableField("customs_clearance_file_id")
    private Long customsClearanceFileId;

    /**
     * 配送方式1：上门取件 2送货到仓
     */
    @TableField("distribution_type")
    private Integer distributionType;

    /**
     * 送货时间
     */
    @TableField("deliver_time")
    private Date deliverTime;

    /**
     * 保额
     */
    @TableField("coverage")
    private Double coverage;

    /**
     * 保费
     */
    @TableField("coverage_fee")
    private Double coverageFee;

    /**
     * 备注
     */
    @TableField("remark")
    private String remark;

    /**
     * 取件时间
     */
    @TableField("pick_date")
    private Date pickDate;

    /**
     * 取件区间
     */
    @TableField("pick_time")
    private String pickTime;

    /**
     * 取件地址
     */
    @TableField("receive_address")
    private String receiveAddress;

    /**
     * 联系方式
     */
    @TableField("contact_information")
    private String contactInformation;

    /**
     * 商品箱标
     */
    @TableField("commodity_file_id")
    private Long commodityFileId;

    @TableField("company_id")
    private Long companyId;

    @TableField("create_time")
    private Date createTime;

    @TableField("create_by")
    private Long createBy;

    @TableField("update_time")
    private Date updateTime;

    @TableField("update_by")
    private Long updateBy;

    @TableField("delete_time")
    private Date deleteTime;

    @TableField("delete_by")
    private Long deleteBy;

    @TableField("delete_flag")
    @TableLogic
    private Integer deleteFlag;

    /**
     * 尾程派送费(出库算法计算）
     */
    @TableField("delivery_fee")
    private float deliveryFee;

    /**
     * 贴标操作费（顾客输入）
     */
    @TableField("operate_fee")
    private float operateFee;

    /**
     * 清关报关费用（）
     */
    @TableField("clearance_fee")
    private float clearanceFee;

    /**
     * 头程费用（一口价，后台输入）
     */
    @TableField("header_fee")
    private float headerFee;

    /**
     * 关税
     */
    @TableField("tariff_fee")
    private float tariffFee;

    /**
     * 关税比例
     */
    @TableField("tariff_fee_percentage")
    private double tariffFeePercentage;


    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
